* {
    margin: 0;
    padding: 0;
}
body {
    font-family: 'START';
    height: 100vh;
    background: url(xk.jpg) no-repeat;
    background-size: cover;
    min-width: 1400px;
    min-height: 700px;
    overflow: hidden;
    position: relative;
}
.background-wrap {
    width: 1200px;
    height: 700px;
    perspective: 1000px;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.background-wrap .road {
    display: flex;
    width: 16%;
    height: 220%;
    background: rgba(0, 0, 0, .6);
    position: relative;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -50%) rotateX(69deg);
    border: 1px solid #c3aae1;
    box-shadow: 0 0 6px #c3aee1;
}
.background-wrap .road .row {
    position: relative;
    flex: 1;
    overflow: hidden;
}
.background-wrap .line-top {
    width: 20%;
    height: 6px;
    background: linear-gradient(to right, transparent, #7d74ff, transparent);
    box-shadow: 0 0 12px #9e9bd2;
    position: absolute;
    top: 8.8%;
    left: 50%;
    transform: translateX(-50%);
}
.background-wrap .line-bottom {
    width: 200%;
    border: 2px solid #9e9bd2;
    box-shadow: 0 0 12px #9e9bd2;
    position: absolute;
    top: 83.8%;
    left: 50%;
    transform: translateX(-50%);
}
.background-wrap .screen-wrap {
    width: 56.9%;
    height: 100px;
    display: flex;
    position: absolute;
    top: 76.5%;
    left: 50%;
    transform: translateX(-50%) rotateX(69deg);
    z-index: 999;
}
.background-wrap .screen-wrap .screen {
    flex: 1;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 30%;
    background-color: #9e9bd2;
    border-radius: 50%;
    transition: .3s;
}
.background-wrap .screen-wrap .screen:nth-child(1) {
    left: 9%;
}
.background-wrap .screen-wrap .screen:nth-child(2) {
    left: 34%;
}
.background-wrap .screen-wrap .screen:nth-child(3) {
    left: 59%;
}
.background-wrap .screen-wrap .screen:nth-child(4) {
    left: 84%;
}
.screen-wrap .screen .screen-outline {
    content: '';
    width: 60px;
    height: 60px; 
    position: absolute;
    top: -16%;
    left: -16%;
    border: 3px solid #9e9bd2;
    border-radius: 50%;
    box-shadow: 0 0 6px #9e9bd2,
                0 0 12px #9e9bd2 inset;
}
.background-wrap .screen-wrap .screen.is-touch::after {
    width: 65px;
    height: 65px;
    top: -21%;
    left: -21%;
}
.road .row .tap {
    width: 60%;
    height: 80px;
    position: absolute;
    top: -5%;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
}
.score-wrap {
    width: 200px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    position: absolute;
    top: 8%;
    left: 5%;
    background-color: rgba(0, 0, 0, .7);
    border-radius: 12px;
    box-shadow: 0 0 12px #fff;
}
.score-wrap span {
    color: #fff;
    font-size: 20px;
    margin-right: 12px;
}
.start {
    width: 220px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    background: linear-gradient(45deg, #7d74ffd8, #6d65e0da, #887fffb4);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 16px;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, .5);
    cursor: pointer;
}
.start span {
    color: #fff;
    font-size: 18px;
}
.countdown {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 65px;
}
.endtime-wrap {
    width: 200px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    position: absolute;
    top: 11%;
    right: 12%;
    background-color: rgba(0, 0, 0, .7);
    border-radius: 12px;
    box-shadow: 0 0 12px #fff;
}
.endtime-wrap span {
    color: #fff;
    font-size: 18px;
}
.setting-wrap {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 12%;
    right: 7%;
    background-color: rgba(255, 255, 255, .6);
    border-radius: 50%;
    cursor: pointer;
}
.setting-wrap img {
    width: 50px;
    height: 50px;
}
.setting-nav {
    visibility: hidden;
    width: 650px;
    height: 450px;
    background-color: rgba(255, 255, 255, .8);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    border-radius: 16px;
    box-shadow: 2px 2px 12px rgba(0, 0, 0, .3);
}
.setting-nav::after {
    content: '';
    width: 95%;
    height: 95%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 16px;
    border: 3px solid rgba(0, 0, 0, .6);
    box-shadow: 0 0 3px rgba(0, 0, 0, .6) inset,
                0 0 6px rgba(0, 0, 0, .6);
}
.setting-nav .setting-nav-wrap {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 11;
}
.setting-nav .setting-time {
    position: relative;
    left: 12%;
    margin-bottom: 85px;
    z-index: 1;
}
.setting-nav .setting-time span {
    color: #9e9bd2;
    margin: 0 6px;
    font-size: 18px;
    font-weight: 700;
    cursor: default;
}
.setting-nav .setting-time input {
    outline: none;
    border: none;
    width: 60px;
    height: 20px;
    margin: 0 3px;
    padding-left: 2px;
    box-sizing: border-box;
    background: none;
    border-bottom: 2px solid #9e9bd2;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
	-webkit-appearance: none !important;
	margin: 0;
}
.setting-nav .setting-time .error-msg {
    position: absolute;
    display: none;
    margin-top: 6px;
    color: red;
}
.setting-nav .setting-dificult {
    display: inline-block;
    position: relative;
    left: 12%;
}
.setting-nav .setting-dificult .dificult-select {
    position: relative;
    margin-left: 12px;
}
.setting-dificult .dificult-select span {
    font-size: 20px;
    font-weight: 700;
    color: #9e9bd2;
    cursor: default;
}
.setting-nav .setting-dificult .dificult {
    display: inline-block;
    width: 100px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    background-color: #7d74ffd8;
    margin: 30px 6px 0 6px;
    border-radius: 6px;
    box-shadow: 0 0 5px #7d74ff;
    cursor: pointer;
}
.setting-dificult .dificult span {
    color: #e4e4e4;
    cursor: pointer;
}
.setting-dificult .dificult.select {
    background-color: #6059c2d8;
}
.setting-dificult .dificult.select span {
    color: #d4d4d4;
}
.setting-nav-wrap .setting-save {
    position: absolute;
    bottom: -42%;
    right: 6%;
}
.setting-nav-wrap .setting-save button {
    outline: none;
    border: none;
    width: 100px;
    height: 50px;
    background-color: #756ceedc;
    border-radius: 12px;
    cursor: pointer;
}
.setting-save #save span {
    font-family: '楷体';
    font-size: 16px;
    color: #fff;
}
.stop-game {
    display: none;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    background-color: rgba(0, 0, 0, .7);
    border-radius: 50%;
    box-shadow: 0 0 12px #fff;
    position: absolute;
    top: 28%;
    left: 8%;
    cursor: pointer;
}
.stop-game span {
    color: #fff;
}

.key-labels {
    display: flex;
    justify-content: space-between;
    width: 56.9%; /* Adjust to match .screen-wrap width */
    position: absolute;
    top: 82.5%; /* Adjust as needed */
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000; /* Ensure it's above other elements */
}

.key-label {
    flex: 1;
    text-align: center;
    color:#e698b1;
    font-size: 18px;
}

#buttons {
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    background-color: rgba(0, 0, 0, .7);
    border-radius: 50%;
    box-shadow: 0 0 12px #fff;
    position: absolute;
    top: 28%;
    left: 8%;
    cursor: pointer;
}
#buttons span {
    color: #fff;
}